package com.credithc.eagleeye.spring.starter;
import com.credithc.eagleeye.plugins.annotation.EagleEyeAnnotation;
import com.credithc.eagleeye.plugins.aspect.EagleEyePluginAspect;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
/**
 * 描 述: <br/>
 * 作 者: zhangjin<br/>
 * 创 建：2019年10月22日<br/>
 * 版 本：v1.0.0<br>
 * <p>
 * 历 史: (版本) 作者 时间 注释 <br/>
 */
@Configuration
@EnableAspectJAutoProxy
@ConditionalOnClass(value = {EagleEyeAnnotation.class})
public class EagleEyeAspectAutoConfiguration {
    @Bean
    @ConditionalOnClass(name = "org.aspectj.lang.ProceedingJoinPoint")
    @ConditionalOnMissingBean(EagleEyePluginAspect.class)
    public EagleEyePluginAspect eagleEyePluginAspect() {
        return new EagleEyePluginAspect();
    }
}
